/******************************************************************************
 * \brief   一次性静态初始化所有系统缓存队列
 * \details 尤其适合用在单片机裸机中
 * \note	File format: UTF-8，中文编码：UTF-8
 * \author	将狼才鲸
 * \date	2023-03-08
 ******************************************************************************/

/*********************************** 头文件 ***********************************/
#include "queue_buffer_cfg.h"
#include "queue_buffer.h"

/********************************** 全局变量 **********************************/
/* 预先开辟出缓存总空间 */
char g_databuf_addr[DATBUF_MAX_BUF_CNT * DATBUF_MAX_BUF_LEN];
char g_msgbuf_addr[MSGBUF_MAX_BUF_CNT * MSGBUF_MAX_BUF_LEN];
char g_tempbuf_addr[TMPBUF_MAX_BUF_CNT * TMPBUF_MAX_BUF_LEN];

/********************************** 接口函数 **********************************/
/**
 * \brief   静态初始化所有缓存队列
 */
void qbuf_groups_cfg(void)
{
	qbuf_group_cfg_t qg;

	qbuf_init();

	qg.type = QBUF_TYPE_ARRAY;	/* 当前是静态分配的内存 */
	qg.addr = DATBUF_MAX_BUF_ADR;
	qg.count = DATBUF_MAX_BUF_CNT;
	qg.unitsize = DATBUF_MAX_BUF_LEN;
	qbuf_group_cfg(&qg, QBUF_GROUP_DATBUF);

	qg.type = QBUF_TYPE_ARRAY;
	qg.addr = MSGBUF_MAX_BUF_ADR;
	qg.count = MSGBUF_MAX_BUF_CNT;
	qg.unitsize = MSGBUF_MAX_BUF_LEN;
	qbuf_group_cfg(&qg, QBUF_GROUP_MSGBUF);

	qg.type = QBUF_TYPE_ARRAY;
	qg.addr = TMPBUF_MAX_BUF_ADR;
	qg.count = TMPBUF_MAX_BUF_CNT;
	qg.unitsize = TMPBUF_MAX_BUF_LEN;
	qbuf_group_cfg(&qg, QBUF_GROUP_TMPBUF);
}

/*********************************** 文件尾 ***********************************/
